Smolagents
このページに示されているすべてのコードサンプルはPythonで書かれています。
概要
Smolagentsは、強力なエージェントアプリケーションを構築するための最小限の抽象化を提供するシンプルなフレームワークです。OpenAI、Hugging Face Transformers、Anthropicなど、複数のLLMプロバイダーをサポートしています。 Weaveは自動的にトレースをキャプチャします Smolagents。追跡を開始するには、weave.init()
を呼び出し、通常通りライブラリを使用します。
前提条件
-
SmolagentsをWeaveで使用する前に、必要なライブラリをインストールするか、最新バージョンにアップグレードしてください。次のコマンドは
smolagents
、openai
、およびweave
をインストールまたはアップグレードし、出力を抑制します: -
SmolagentsはOpenAI、Hugging Face Transformers、Anthropicなど、複数のLLMプロバイダーをサポートしています。選択したプロバイダーのAPIキーを対応する環境変数を設定して設定します:
基本的なトレース
言語モデルアプリケーションのトレースを中央の場所に保存することは、開発中および本番環境で不可欠です。これらのトレースはデバッグに役立ち、アプリケーションを改善するための貴重なデータセットとして機能します。 Weaveは自動的にトレースをキャプチャします Smolagents。追跡を開始するには、weave.init()
を呼び出してWeaveを初期化し、通常通りライブラリを使用します。
次の例は、Weaveでツールを使用するLLMエージェントへの推論呼び出しをログに記録する方法を示しています。このシナリオでは:
- Smolagentsの
gpt-4o
を使用して言語モデル(OpenAIのOpenAIServerModel
)を定義します。 - エージェントが必要に応じて呼び出せる検索ツール(
DuckDuckGoSearchTool
)を設定します。 - ツールとモデルを渡して
ToolCallingAgent
を構築します。 - 検索ツールをトリガーするクエリをエージェントを通じて実行します。
- Weaveは各関数とモデルの呼び出しをログに記録し、ウェブインターフェースを通じて検査できるようにします。

カスタムツールのトレース
エージェントワークフロー用のカスタムツールを宣言するには、@tool
で関数をデコレートするか、smolagents
からsmolagents.Tool
クラスを継承します。
Weaveは自動的にSmolagentsワークフロー用のカスタムツール呼び出しを追跡します。次の例は、WeaveでカスタムSmolagentsツール呼び出しをログに記録する方法を示しています:
- カスタム
get_weather
関数が定義され、Smolagentsから@tool
でデコレートされ、エージェントが推論プロセスの一部としてそれを呼び出せるようにします。 - この関数は場所と摂氏出力用のオプションフラグを受け入れます。
- 言語モデルは
OpenAIServerModel
を使用してインスタンス化されます。 - カスタムツールとモデルで
ToolCallingAgent
が作成されます。 - エージェントがクエリを実行すると、
get_weather
ツールを選択して呼び出します。 - Weaveはモデル推論とカスタムツールの呼び出しの両方を、引数と戻り値を含めてログに記録します。
